import 'package:get_it/get_it.dart';
import 'package:mobile_app.home.core/injection_container.dart' as home_core_di;
import 'package:mobile_app.home.learning.spaced_repetitions/repetition_answer_typing_card/domain/use_cases/apply_hint/use_case.dart';
import 'package:mobile_app.home.learning.spaced_repetitions/repetition_answer_typing_card/domain/use_cases/check_answer/use_case.dart';
import 'package:mobile_app.home.learning.spaced_repetitions/repetition_answer_typing_card/domain/use_cases/get_initial_data/use_case.dart';

final sl = GetIt.asNewInstance();

Future<void> init() async {
  // use cases

  sl.registerLazySingleton<ApplyHint>(() {
    return ApplyHintImpl(
      applyTypingCardInputTextHint: home_core_di.sl(),
    );
  });

  sl.registerLazySingleton<GetInitialData>(() {
    return const GetInitialDataImpl();
  });

  sl.registerLazySingleton<CheckAnswer>(() {
    return const CheckAnswerImpl();
  });
}
